home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 220_01 / lharc.doc < prev    next >
Text File  |  1989-05-29  |  41KB  |  1,320 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.       User's Manual for High-Performance File-Compression Program
  10.  
  11.                           LHarc Version 1.13c
  12.                                 05/31/89
  13.  
  14.            Copyright (c) Haruyasu Yoshizaki (Yoshi), 1988-89
  15.  
  16.                                                     Nifty Serve PFF00253
  17.                                                     ASCII PCS   pcs02846
  18.  
  19. ------------------------------------------------------------------------
  20.  
  21. 0. It Came to Pass One Day...
  22.  
  23.    After reading "A Hard Disk Cookbook" from Shouei Press, I had a
  24.    strong desire to write my own archiving utility.  On the Nifty Serve
  25.    network, I was first exposed to Mr. Miki's Larc, which surpasses the
  26.    well-known PKware in compression ratios, as reported in the Forum
  27.    Software Debut and Review.  The next shock came when I saw Mr.
  28.    Okumura's LZari, which has even better compression-ratio performance.
  29.    I started to rewrite LZari in assembly language, trying to make it
  30.    run faster, but I could find hardly no good way to speed up the
  31.    process of un-archiving.
  32.  
  33.    So, as an alternative, I used adaptive Huffman coding with an LZSS
  34.    encoder in order to achieve similar compression ratios with shorter
  35.    decompression times.  This is the idea used in LHarc.
  36.  
  37.    No one can be sure of eradicating all possible bugs, yet if SPACE is
  38.    more valuable than TIME to you, please give this program a try.  It
  39.    may be slower in execution, but it achieves the tightest compression
  40.    ratios of any general archiver in the present "shareware" environ-
  41.    ment.
  42.  
  43.    (Copyright reserved).
  44.  
  45.  
  46. 1. How to Use It:
  47.  
  48.    Just type "LHarc" to see a concise help screen of the program's
  49.    command structure.
  50.  
  51.  
  52.    Command-line synopsis:
  53.    ======================
  54.  
  55.    LHarc [<command>] [{{/|-}{<switch>[-|+|2|<option>]}}...] <archive_name>
  56.          [{<drive_name>:}|{<home_directory_name>\}] [<path_name> ...]
  57.  
  58.    Only a single command can be specified on the command line, but a
  59.    group of switches can be specified together after the '/' or '-'
  60.    delimiter.  You may place switch(es) anywhere following the command.
  61.  
  62.    Hitting 'Ctrl-Break' or 'Ctrl-C' at any time will abort LHarc's
  63.    current operation and return you to the DOS prompt.
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. LHarc User's Manual                                               page 2
  73.  
  74.  
  75.  
  76.    Terminology:
  77.    ============
  78.  
  79.    A path name comprises a directory name and a file name:
  80.  
  81.         a:\tc\include\stdio.ext
  82.         |<---- Path_name ---->|
  83.         |<Directory_>||<File_>|
  84.         |<-- name -->||<name >|
  85.  
  86.    Both the archive name and file name(s) specified in the command line
  87.    can optionally include a path i.e., a drive or directory name.  If
  88.    LHarc becomes excessively confused by your typing, it will just stop
  89.    and wait for keyboard input.  Hit 'CTRL-Break' or 'CTRL-C' to escape
  90.    back to the prompt and then use the DOS function keys to edit and
  91.    reenter your command line.  LHarc will continue to answer your
  92.    request.
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101. LHarc User's Manual                                               page 3
  102.  
  103.  
  104.  
  105.    Commands:
  106.    =========
  107.  
  108.    a (Add files to archive)
  109.  
  110.      LHarc a ARCHIVE.LZH file1.ext
  111.  
  112.         Adds 'file1.ext' to 'ARCHIVE.LZH'.  If 'ARCHIVE.LZH' does
  113.         not exist, then LHarc will create it.  If a file with the
  114.         name 'file1.ext' already exists in the archive, LHarc will
  115.         replace it with the specified file.
  116.  
  117.         Including the extension '.LZH' with the archive name is
  118.         optional and LHarc will default to using it unless you
  119.         specify otherwise (see below under "Archive name").
  120.         However, you would certainly need to include the extension
  121.         (or just '.' for a blank extension) with any single-
  122.         character archive name or file name that might look like
  123.         one of LHarc's commands.
  124.  
  125.  
  126.  
  127.    u (Update files to archive)
  128.  
  129.      LHarc u ARCHIVE.LZH file1.ext
  130.  
  131.         Adds 'file1.ext' to 'ARCHIVE.LZH', the same as with the 'a'
  132.         command.  However, if 'file1.ext' already exists in the
  133.         archive, LHarc will check its time stamp and will keep the
  134.         newer one and ignore the older one.  (Use the /c switch to
  135.         tell LHarc to skip this time-stamp comparison.)
  136.  
  137.  
  138.    m (Move new files into archive)
  139.  
  140.      LHarc m ARCHIVE.LZH file1.ext
  141.  
  142.         is equivalent to
  143.  
  144.      LHarc u ARCHIVE.LZH file1.ext
  145.      DEL file1.ext
  146.  
  147.         Beware the fact that the second line is implicit.  You might
  148.         lose 'file1.ext' forever.
  149.  
  150.    f (Freshen files in archive)
  151.  
  152.      LHarc f ARCHIVE.LZH file1.ext
  153.  
  154.         Replaces 'file1.ext' in 'ARCHIVE.LZH' with the newer one
  155.         only if a file with this name already exists in the archive.
  156.         Otherwise, no action is taken.  (Use the /c switch to tell
  157.         LHarc to skip this time-stamp comparison.)
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166. LHarc User's Manual                                               page 4
  167.  
  168.  
  169.  
  170.    e or x (EXtract files from archive)
  171.  
  172.      LHarc e ARCHIVE.LZH d:\temp\
  173.  
  174.         Extracts all the files from 'ARCHIVE.LZH
  175.         directory \temp\ on drive D:.  If the specified directory
  176.         does not exist, then LHarc will prompt you whether to create
  177.         it with the message "Make directory? [Y/N]".  If no home
  178.         directory name is specified, LHarc will extract all files to
  179.         the current directory.
  180.  
  181.      LHarc e ARCHIVE.LZH file1.ext
  182.  
  183.         Extracts only 'file1.ext' from 'ARCHIVE.LZH'.  If a file
  184.         with the name 'file1.ext' exists in the home directory,
  185.         LHarc will compare their time stamps and if the existing
  186.         file is older, then LHarc will prompt you whether to
  187.         overwrite it.  (Use the /c switch to tell LHarc to skip this
  188.         time-stamp comparison.)
  189.  
  190.      LHarc e ARCHIVE.LZS file.ext
  191.  
  192.         Extracts 'file.ext' from an .LZS file archived with Larc
  193.         3.xx.
  194.  
  195.         Note:  Larc is another popular archiver on Japanese PDS's.
  196.  
  197.  
  198.    p (disPlay files in archive)
  199.  
  200.      LHarc p ARCHIVE.LZH file1.ext
  201.  
  202.         Extracts 'file1.ext' from 'ARCHIVE.LZH' and redirects it to
  203.         standard output.
  204.  
  205.      LHarc p /v ARCHIVE.LZH file1.ext
  206.  
  207.         Uses the default utility LESS to format and display the
  208.         redirected output.  LHarc creates a temporary file
  209.         'LHARC.TMP' for viewing.  It will be deleted afterward.
  210.  
  211.      LHarc p /vsee ARCHIVE.LZH file1.ext
  212.  
  213.         Invokes the text formatter SEE, which then displays
  214.         'file1.ext' to standard output in a paged format.  Refer to
  215.         PC-LESS.ARC, LIST64A.ARC and SEE15.ARC.  (These should be
  216.         available in most BBS libraries.)
  217.  
  218.  
  219.    d (Delete files from archive)
  220.  
  221.      LHarc d ARCHIVE.LZH file1.ext
  222.  
  223.         Deletes 'file1.ext' from 'ARCHIVE.LZH'.
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232. LHarc User's Manual                                               page 5
  233.  
  234.  
  235.  
  236.    l (List files in archive)
  237.  
  238.      LHarc l ARCHIVE.LZH
  239.  
  240.         Lists information about all the files in 'ARCHIVE.LZH':
  241.         name, original size, stored size, compression ratio, date
  242.         and time, attributes, compression type (see below under
  243.         "Archive File Header") and CRC check.  Each file takes one
  244.         line of output.  A '+' before a file name indicates that a
  245.         directory name is stored with the file name.  (Use the /x
  246.         switch to tell LHarc to also display these directory names.)
  247.  
  248.         If you specify any file names and extensions, then only the
  249.         files with matching names or extensions will be listed:
  250.  
  251.      LHarc l ARCHIVE.LZH *.c *.h readme.doc
  252.  
  253.         Lists information on all the .C, .H and README.DOC files
  254.         in 'ARCHIVE.LZH'.
  255.  
  256.  
  257.    v (View list of files in archive)
  258.  
  259.      LHarc v ARCHIVE.LZH
  260.  
  261.         Which is equivalent to:
  262.  
  263.      LHarc l /x ARCHIVE.LZH
  264.  
  265.         Lists information about all the files in 'ARCHIVE.LZH',
  266.         except that each listing takes two lines: the first for the
  267.         full path name and the second for the rest of the
  268.         information.  The /x switch tells LHarc to display file
  269.         names extended